AT-NFC  2.1 (win)
AT-NFC kernel set
Macros | Functions
hal_config.h File Reference

Go to the source code of this file.

Macros

#define KER_CFG_ID_COMPARE_TRACK2_MASK   0x0101
 
#define KER_CFG_COMPARE_TRACK2_MASK_PAN   0x01
 
#define KER_CFG_COMPARE_TRACK2_MASK_EXP_DATE   0x02
 
#define KER_CFG_ID_OVERRIDE_9C_FOR_CVM   0x0102
 
#define KER_CFG_ID_SCRIPT_RESULTS   0x0103
 
#define KER_CFG_ID_OVERRIDE_9C_FOR_RESTR   0x0104
 
#define KER_CFG_ID_OVERRIDE_9C_PER_AID   0x0105
 
#define KER_CFG_ID_APP_CONFIG_ENTRY_ID   0x0106
 
#define KER_CFG_ID_DISABLE_PSE   0x0107
 
#define KER_CFG_ID_OVERRIDE_8A   0x0108
 
#define KER_CFG_ID_ASI   0x0201
 
#define KER_CFG_ID_DEF_APP_LABEL   0x0202
 
#define KER_CFG_ID_LOW_APP_SUPP_VER_RANGE   0x0203
 
#define KER_CFG_ID_HIGH_APP_SUPP_VER_RANGE   0x0204
 
#define KER_CFG_ID_TAC_DENIAL   0x0205
 
#define KER_CFG_ID_TAC_ONLINE   0x0206
 
#define KER_CFG_ID_TAC_DEFAULT   0x0207
 
#define KER_CFG_ID_DEFAULT_TDOL   0x0208
 
#define KER_CFG_ID_DEFAULT_DDOL   0x0209
 
#define KER_CFG_ID_CDA_MODE   0x020A
 
#define KER_CFG_ID_OFFLINE_MODE   0x020B
 
#define KER_CFG_ID_SKIP_PIN_GET_DATA   0x020C
 
#define KER_CFG_ID_TERM_TRAN_LOG_DATA   0x020D
 
#define KER_CFG_ID_TERM_TRAN_LOG_INDEX   0x020E
 
#define KER_CFG_ID_TERM_RAND_SEL_TARGET_PERCENTAGE   0x020F
 
#define KER_CFG_ID_TERM_RAND_SEL_MAX_TARGET_PERCENTAGE   0x0210
 
#define KER_CFG_ID_TERM_RAND_SEL_TRESHOLD   0x0211
 
#define KER_CFG_ID_AEC   0x0212
 
#define KER_CFG_ID_TAED   0x0213
 
#define KER_CFG_ID_CARDHOLDER_CONFIRMATION_SUPP   0x0301
 
#define KER_CFG_ID_FORCE_FIRST_APP_SELECTION   0x0302
 
#define KER_CFG_ID_DEF_APP_LABEL_USAGE   0x0303
 
#define KER_CFG_ID_TRAN_CHAINING_OPTIONS   0x0304
 
#define KER_CFG_ID_PIN_ENTRY_BYPASS   0x0305
 
#define KER_CFG_ID_ISS_SCRIPTS_SIZE_LIMIT   0x0306
 
#define KER_IS_CASH_TRAN(TranType)   (hal_cfg_get_is_tran_cash(KER_CTX TranType))
 
#define KER_IS_SALE_TRAN(TranType)   (hal_cfg_get_is_tran_sale(KER_CTX TranType))
 
#define KER_IS_CASHBACK_TRAN(TranType)   (hal_cfg_get_is_tran_cashback(KER_CTX TranType))
 
#define KER_IS_MANUAL_CASH_TRAN(TranType)   (hal_cfg_get_is_tran_manual_cash(KER_CTX TranType))
 
#define KER_IS_REFUND_TRAN(TranType)   (hal_cfg_get_is_tran_refund(KER_CTX TranType))
 
#define KER_IS_APPROVED_ONLINE(Arc, ArcLen)   (hal_cfg_get_is_approved_online(KER_CTX Arc, ArcLen))
 
#define KER_IS_REFERRAL_ONLINE(Arc, ArcLen)   (hal_cfg_get_is_referral_online(KER_CTX Arc, ArcLen))
 
#define KER_CFG_TR_CHAINING_FULL_RESTART   0x00
 
#define KER_CFG_TR_CHAINING_REUSE_FINAL_CL   0x01
 
#define KER_CFG_TR_CHAINING_REUSE_INITIAL_CL   0x02
 

Functions

KER_BOOL hal_cfg_get_supp_app_list (KER_CTX_PARAM KER_TLV **ppSuppCandList)
 Provides terminal supported applications list for Kernel. More...
 
KER_TLVhal_cfg_get_next_supp_app (KER_CTX_PARAM const KER_TLV *pCurrSuppAID, const KER_TLV *pLastCandAddedToCL)
 Proceed to the next supported app in the list. More...
 
KER_RES hal_cfg_cl_postprocess (KER_CTX_PARAM KER_TLV **ppCandidateList, const KER_TLV *pBlockedAppList, KER_BOOL bForReselect)
 Custom candidate list postprocessing. More...
 
KER_BYTE hal_cfg_lang_autoselect (KER_CTX_PARAM const KER_BYTE *pbtIccSuppLang, KER_BYTE btIccSuppLangLength, KER_BYTE *pbtSelectedLang, KER_BYTE btSelectedLangSize)
 Ckecks for match between ICC and Terminal supported languages and makes autoselection. More...
 
KER_BOOL hal_cfg_get_config (KER_CTX_PARAM const KER_BYTE *pbtAID, KER_INT16U usAIDLen, KER_TLV **ppConfigList)
 Provides common terminal configuration for Kernel. More...
 
KER_BOOL hal_cfg_get_tran_config (KER_CTX_PARAM const KER_BYTE *pbtAID, KER_INT16U usAIDLen, const KER_TLV *pTranDataList, KER_TLV **ppConfigList)
 Provides terminal configuration specific for AID-Transaction data combination for Kernel. More...
 
KER_BOOL hal_cfg_get_config_by_tag (KER_CTX_PARAM const KER_BYTE *pbtAID, KER_INT16U usAIDLen, const KER_BYTE *pbtTag, KER_BYTE btTagLen, KER_BYTE *pbtValue, KER_INT16U *pusValueLen, KER_INT16U usMaxLen)
 Provides common terminal configuration for tag requested. More...
 
KER_BOOL hal_cfg_get_config_by_id (KER_CTX_PARAM const KER_BYTE *pbtAID, KER_INT16U usAIDLen, KER_INT16U usID, KER_BYTE *pbtValue, KER_INT16U *pusValueLen, KER_INT16U usMaxLen)
 Provides terminal configuration which have no emv tag assinged by ID. More...
 
KER_BOOL hal_cfg_set_config_by_id (KER_CTX_PARAM KER_INT16U usID, const KER_BYTE *pbtValue, KER_INT16U usValueLen)
 Keeps trerminal params in "scratch pad". More...
 
KER_BOOL hal_cfg_get_tran_config_by_id (KER_CTX_PARAM KER_TRAN *pTran, const KER_BYTE *pbtAID, KER_INT16U usAIDLen, const KER_TLV *pTranDataList, KER_INT16U usID, KER_BYTE *pbtValue, KER_INT16U *pusValueLen, KER_INT16U usMaxLen)
 Provides terminal configuration specific for AID-Transaction data combination which have no emv tag assinged by ID. More...
 
KER_BOOL hal_cfg_get_custom_tag_by_id (KER_CTX_PARAM KER_INT16U usID, KER_BYTE *pbtValue, KER_INT16U *pusValueLen, KER_INT16U usMaxLen)
 Remapp terminal configuration id to custom tag. More...
 
KER_INT16U hal_cfg_get_id_by_custom_tag (KER_CTX_PARAM const KER_BYTE *pbtTag, KER_INT16U usTagLen)
 Remapp custom tag to configuration ID. More...
 
KER_BOOL hal_cfg_get_is_tran_cash (KER_CTX_PARAM KER_BYTE btTranType)
 Check transaction type (9C) for cash tran (cash or cash disbursement at POS) More...
 
KER_BOOL hal_cfg_get_is_tran_sale (KER_CTX_PARAM KER_BYTE btTranType)
 Check transaction type (9C) for goods and services. More...
 
KER_BOOL hal_cfg_get_is_tran_cashback (KER_CTX_PARAM KER_BYTE btTranType)
 Check transaction type (9C) for cashback. More...
 
KER_BOOL hal_cfg_get_is_tran_manual_cash (KER_CTX_PARAM KER_BYTE btTranType)
 Check transaction type (9C) for manual cash tran (0x17) More...
 
KER_BOOL hal_cfg_get_is_tran_refund (KER_CTX_PARAM KER_BYTE btTranType)
 Check transaction type (9C) for refund (0x20) More...
 
KER_BOOL hal_cfg_get_is_approved_online (KER_CTX_PARAM const KER_BYTE *pbtARC, KER_INT16U usARCLen)
 Check online result by ARC. More...
 
KER_BOOL hal_cfg_get_is_referral_online (KER_CTX_PARAM const KER_BYTE *pbtARC, KER_INT16U usARCLen)
 Check online result by ARC (for referral request) More...
 
KER_BOOL hal_cfg_add_tran_to_term_log_file (KER_CTX_PARAM const KER_BYTE *pbtTLV, KER_INT16U usTLVLen)
 Add to transaction log to prevent split sales. More...
 
KER_BOOL hal_cfg_get_tran_amount_from_term_log_file (KER_CTX_PARAM const KER_BYTE *pbtTLV, KER_INT16U usTLVLen, KER_INT32U *pulPrevTranAmountHI, KER_INT32U *pulPrevTranAmountLO)
 Add to transaction log to prevent split sales. More...
 
KER_BOOL hal_cfg_check_exception_file (KER_CTX_PARAM const KER_BYTE *pbtTLV, KER_INT16U usTLVLen)
 Checks if card appears in terminal exception file (EMV Book 4 6.3.5) More...
 

Detailed Description

HAL configuration interface definition

Macro Definition Documentation

◆ KER_CFG_TR_CHAINING_FULL_RESTART

#define KER_CFG_TR_CHAINING_FULL_RESTART   0x00

full transaction restart - mode used for EMVCo approval

◆ KER_CFG_TR_CHAINING_REUSE_FINAL_CL

#define KER_CFG_TR_CHAINING_REUSE_FINAL_CL   0x01

skip cl build - use final cl prov prev transaction

◆ KER_CFG_TR_CHAINING_REUSE_INITIAL_CL

#define KER_CFG_TR_CHAINING_REUSE_INITIAL_CL   0x02

skip cl build - use initial cl prov prev transaction